package com.sgcc.operate.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.google.common.collect.Lists;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.sgcc.common.core.annotation.Excel;
import com.sgcc.common.core.web.domain.BaseEntity;

/**
 * 人群规则属性对象 o_rule_attr
 * 
 * @author sgcc
 * @date 2021-03-23
 */
public class ORuleAttr extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 人群规则属性主键 */
    @Excel(name = "人群规则属性主键")
    private String id;

    /** 属性名称 */
    @Excel(name = "属性名称")
    private String attrname;

    /** 属性英文名称 */
    @Excel(name = "属性英文名称")
    private String attrengname;

    /** 属性分类 */
    @Excel(name = "属性分类")
    private String attrtype;

    /** 属性维度 */
    @Excel(name = "属性维度")
    private String attrdimen;

    /** 属性描述 */
    @Excel(name = "属性描述")
    private String attrdesc;

    /** 维护人 */
    @Excel(name = "维护人")
    private String modifyemp;

    /** 维护时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss HH:mm:ss")
    @Excel(name = "维护时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date modifytime;

    /** 维护人单位 */
    @Excel(name = "维护人单位")
    private String modifyorg;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createDate;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date updateDate;

    /** 逻辑删除标记（0：显示；1：隐藏） */
    @Excel(name = "逻辑删除标记", readConverterExp = "0=：显示；1：隐藏")
    private String delFlag;

    private List<OAttrField> attrFieldList = Lists.newArrayList();		// 子表列表

    private String deptName;


    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setAttrname(String attrname) 
    {
        this.attrname = attrname;
    }

    public String getAttrname() 
    {
        return attrname;
    }
    public void setAttrengname(String attrengname) 
    {
        this.attrengname = attrengname;
    }

    public String getAttrengname() 
    {
        return attrengname;
    }
    public void setAttrtype(String attrtype) 
    {
        this.attrtype = attrtype;
    }

    public String getAttrtype() 
    {
        return attrtype;
    }
    public void setAttrdimen(String attrdimen) 
    {
        this.attrdimen = attrdimen;
    }

    public String getAttrdimen() 
    {
        return attrdimen;
    }
    public void setAttrdesc(String attrdesc) 
    {
        this.attrdesc = attrdesc;
    }

    public String getAttrdesc() 
    {
        return attrdesc;
    }
    public void setModifyemp(String modifyemp) 
    {
        this.modifyemp = modifyemp;
    }

    public String getModifyemp() 
    {
        return modifyemp;
    }
    public void setModifytime(Date modifytime) 
    {
        this.modifytime = modifytime;
    }

    public Date getModifytime() 
    {
        return modifytime;
    }
    public void setModifyorg(String modifyorg) 
    {
        this.modifyorg = modifyorg;
    }

    public String getModifyorg() 
    {
        return modifyorg;
    }
    public void setCreateDate(Date createDate) 
    {
        this.createDate = createDate;
    }

    public Date getCreateDate() 
    {
        return createDate;
    }
    public void setUpdateDate(Date updateDate) 
    {
        this.updateDate = updateDate;
    }

    public Date getUpdateDate() 
    {
        return updateDate;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    public List<OAttrField> getAttrFieldList() {
        return attrFieldList;
    }

    public void setAttrFieldList(List<OAttrField> attrFieldList) {
        this.attrFieldList = attrFieldList;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("attrname", getAttrname())
            .append("attrengname", getAttrengname())
            .append("attrtype", getAttrtype())
            .append("attrdimen", getAttrdimen())
            .append("attrdesc", getAttrdesc())
            .append("modifyemp", getModifyemp())
            .append("modifytime", getModifytime())
            .append("modifyorg", getModifyorg())
            .append("createBy", getCreateBy())
            .append("createDate", getCreateDate())
            .append("updateBy", getUpdateBy())
            .append("updateDate", getUpdateDate())
            .append("remark", getRemark())
            .append("delFlag", getDelFlag())
            .toString();
    }
}
